home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / MUI / DEFTII15.LHA / Deft II / Sources / GUI_MUIB.em < prev    next >
Encoding:
Text File  |  1994-11-06  |  7.1 KB  |  229 lines

  1. OPT MODULE
  2.  
  3.  
  4. ->*****
  5. ->** External modules
  6. ->*****
  7. MODULE 'muimaster' , 'libraries/mui'
  8. MODULE 'utility/tagitem' , 'utility/hooks'
  9. MODULE 'libraries/asl'
  10. MODULE 'workbench/workbench'
  11.  
  12. MODULE '*Locale'
  13.  
  14.  
  15. ->*****
  16. ->** Object definitions
  17. ->*****
  18. EXPORT OBJECT obj_arexx
  19.     commands    :    PTR TO mui_command
  20.     error        :    hook
  21. ENDOBJECT
  22.  
  23. EXPORT OBJECT obj_display
  24.     display_def_tool    :    hook
  25.     compare_def_tool    :    hook
  26.     str_obj                :    hook
  27.     obj_str                :    hook
  28. ENDOBJECT
  29.  
  30. EXPORT OBJECT obj_app
  31.     app                    :    LONG
  32.     wi_main                :    LONG
  33.     lv_default_tools    :    LONG
  34.     gr_default_tools    :    LONG
  35.     stR_old_def_tool    :    LONG
  36.     po_new_def_tool        :    LONG
  37.     stR_PO_new_def_tool    :    LONG
  38.     lv_new_def_tools    :    LONG
  39.     im_new_def_tool        :    LONG
  40.     bt_delete_def_tool    :    LONG
  41.     gr_paths            :    LONG
  42.     lv_paths            :    LONG
  43.     pa_path                :    LONG
  44.     stR_PA_path            :    LONG
  45.     bt_delete_path        :    LONG
  46.     tx_info                :    LONG
  47.     bt_go                :    LONG
  48.     bt_stop                :    LONG
  49.     bt_save_prefs        :    LONG
  50.     bt_about            :    LONG
  51.     bt_quit                :    LONG
  52. ENDOBJECT
  53.  
  54.  
  55. ->*****
  56. ->** Global variables
  57. ->*****
  58. EXPORT DEF cat : PTR TO catalog_DeftII
  59.  
  60.  
  61. ->*****
  62. ->** Initializes the application object
  63. ->*****
  64. PROC create(    icon    :    PTR TO diskobject    ,
  65.                 arexx    :    PTR TO obj_arexx    ,
  66.                 display    :    PTR TO obj_display    ) OF obj_app
  67.  
  68.     DEF app , wi_main , lv_default_tools , gr_default_tools
  69.     DEF stR_old_def_tool , po_new_def_tool , stR_PO_new_def_tool
  70.     DEF lv_new_def_tools , bt_delete_def_tool , gr_paths , lv_paths , pa_path
  71.     DEF stR_PA_path , bt_delete_path , tx_info , bt_go , bt_stop
  72.     DEF bt_save_prefs , bt_about , bt_quit , im_new_def_tool
  73.  
  74.     app := ApplicationObject ,
  75.         MUIA_Application_Author , 'Lionel Vintenat' ,
  76.         MUIA_Application_Base , 'DEFT_II' ,
  77.         MUIA_Application_Title , 'Deft II' ,
  78.         MUIA_Application_Version , '$VER: Deft_II 1.5 (6.11.94)' ,
  79.         MUIA_Application_Copyright , '© 1994, Lionel Vintenat' ,
  80.         MUIA_Application_Description , cat.msg_AppDescription.getstr() ,
  81.         MUIA_Application_DiskObject , icon ,
  82.         MUIA_Application_Commands , arexx.commands ,
  83.         MUIA_Application_RexxHook , arexx.error ,
  84.         MUIA_HelpFile, 'Deft II.guide',
  85.         SubWindow , wi_main := WindowObject ,
  86.             MUIA_Window_Title , cat.msg_WI_main.getstr() ,
  87.             MUIA_Window_ID , "0WIN" ,
  88.             MUIA_Window_AppWindow , MUI_TRUE ,
  89.             WindowContents , GroupObject ,
  90.                 Child , GroupObject ,
  91.                     MUIA_Group_Horiz , MUI_TRUE ,
  92.                     Child , gr_default_tools := GroupObject ,
  93.                         MUIA_Weight , 200 ,
  94.                         GroupFrameT( cat.msg_GR_default_tools.getstr() ) ,
  95.                         MUIA_HelpNode , 'gr_default_tools' ,
  96.                         Child , lv_default_tools := ListviewObject ,
  97.                             MUIA_Listview_DoubleClick , MUI_TRUE ,
  98.                             MUIA_Listview_List , ListObject ,
  99.                                 InputListFrame ,
  100.                                 MUIA_HelpNode , 'lv_default_tools' ,
  101.                                 MUIA_List_Format , 'DELTA=10,' ,
  102.                                 MUIA_List_DisplayHook , display.display_def_tool ,
  103.                                 MUIA_List_CompareHook , display.compare_def_tool ,
  104.                             End ,
  105.                         End ,
  106.                         Child , GroupObject ,
  107.                             MUIA_Group_Columns , 2 ,
  108.                             Child , Label( cat.msg_LA_old_def_tool.getstr() ) ,
  109.                             Child , stR_old_def_tool := StringObject ,
  110.                                 StringFrame ,
  111.                                 MUIA_HelpNode , 'stR_old_def_tool' ,
  112.                                 MUIA_String_MaxLen , 256 ,
  113.                                 MUIA_String_Format , 0 ,
  114.                             End ,
  115.                             Child , Label( cat.msg_LA_new_def_tool.getstr() ) ,
  116.                             Child , GroupObject ,
  117.                                 MUIA_Group_Horiz , MUI_TRUE ,
  118.                                 Child , po_new_def_tool := PopobjectObject ,
  119.                                     MUIA_HelpNode , 'po_new_def_tool' ,
  120.                                     MUIA_Popstring_String , stR_PO_new_def_tool := StringMUI( '' , 256 ) ,
  121.                                     MUIA_Popstring_Button , PopButton( MUII_PopUp ) ,
  122.                                     MUIA_Popobject_Light , MUI_TRUE ,
  123.                                     MUIA_Popobject_Follow , MUI_TRUE ,
  124.                                     MUIA_Popobject_Volatile , MUI_TRUE ,
  125.                                     MUIA_Popobject_StrObjHook , display.str_obj ,
  126.                                     MUIA_Popobject_ObjStrHook , display.obj_str ,
  127.                                     MUIA_Popobject_Object , lv_new_def_tools := ListviewObject ,
  128.                                         MUIA_Listview_DoubleClick , MUI_TRUE ,
  129.                                         MUIA_Listview_List , ListObject ,
  130.                                             InputListFrame ,
  131.                                         End ,
  132.                                     End ,
  133.                                 End ,
  134.                                 Child , im_new_def_tool := ImageObject ,
  135.                                     MUIA_HelpNode , 'po_new_def_tool' ,
  136.                                     MUIA_Image_Spec , 19 ,
  137.                                     MUIA_Image_FontMatch , MUI_TRUE ,
  138.                                     MUIA_InputMode, MUIV_InputMode_RelVerify,
  139.                                     MUIA_Frame, MUIV_Frame_Button,
  140.                                 End ,
  141.                             End ,
  142.                         End ,
  143.                         Child , bt_delete_def_tool := et_key_button( cat.msg_BT_delete_def_tool.getstr() ) ,
  144.                     End ,
  145.                     Child , gr_paths := GroupObject ,
  146.                         GroupFrameT( cat.msg_GR_paths.getstr() ) ,
  147.                         MUIA_HelpNode , 'gr_paths' ,
  148.                         Child , lv_paths := ListviewObject ,
  149.                             MUIA_Listview_DoubleClick , MUI_TRUE ,
  150.                             MUIA_Listview_List , ListObject ,
  151.                                 InputListFrame ,
  152.                                 MUIA_HelpNode , 'lv_paths' ,
  153.                                 MUIA_List_ConstructHook , MUIV_List_ConstructHook_String ,
  154.                                 MUIA_List_DestructHook , MUIV_List_DestructHook_String ,
  155.                             End ,
  156.                         End ,
  157.                         Child , pa_path := PopaslObject ,
  158.                             MUIA_HelpNode , 'pa_path' ,
  159.                             MUIA_Popasl_Type , 0 ,
  160.                             MUIA_Popstring_String , stR_PA_path := StringMUI( '' , 256 ) ,
  161.                             MUIA_Popstring_Button , PopButton( MUII_PopDrawer ) ,
  162.                             ASLFR_DRAWERSONLY , TRUE ,
  163.                         End ,
  164.                         Child , bt_delete_path := et_key_button( cat.msg_BT_delete_path.getstr() ) ,
  165.                     End ,
  166.                 End ,
  167.                 Child , GroupObject ,
  168.                     MUIA_Group_Horiz , MUI_TRUE ,
  169.                     Child , Label( cat.msg_LA_info.getstr() ) ,
  170.                     Child , tx_info := TextObject ,
  171.                         MUIA_Background , 128 ,
  172.                         MUIA_Text_Contents , cat.msg_TX_info.getstr() ,
  173.                         MUIA_Text_SetMax , 0 ,
  174.                         MUIA_Text_SetMin , 1 ,
  175.                         MUIA_Frame , 3 ,
  176.                         MUIA_HelpNode , 'tx_info' ,
  177.                     End ,
  178.                 End ,
  179.                 Child , GroupObject ,
  180.                     GroupFrameT( cat.msg_GR_controls.getstr() ) ,
  181.                     MUIA_HelpNode , 'gr_controls' ,
  182.                     MUIA_Group_Horiz , MUI_TRUE ,
  183.                     MUIA_Group_SameWidth , MUI_TRUE ,
  184.                     Child , bt_go := et_key_button( cat.msg_BT_go.getstr() ) ,
  185.                     Child , bt_stop := et_key_button( cat.msg_BT_stop.getstr() ) ,
  186.                     Child , bt_save_prefs := et_key_button( cat.msg_BT_save_prefs.getstr() ) ,
  187.                     Child , bt_about := et_key_button( cat.msg_BT_about.getstr() ) ,
  188.                     Child , bt_quit := et_key_button( cat.msg_BT_quit.getstr() ) ,
  189.                 End ,
  190.             End ,
  191.         End ,
  192.     End
  193.  
  194.     self.app                 := app
  195.     self.wi_main             := wi_main
  196.     self.lv_default_tools    := lv_default_tools
  197.     self.gr_default_tools    := gr_default_tools
  198.     self.stR_old_def_tool    := stR_old_def_tool
  199.     self.po_new_def_tool     := po_new_def_tool
  200.     self.stR_PO_new_def_tool := stR_PO_new_def_tool
  201.     self.lv_new_def_tools    := lv_new_def_tools
  202.     self.im_new_def_tool     := im_new_def_tool
  203.     self.bt_delete_def_tool  := bt_delete_def_tool
  204.     self.gr_paths            := gr_paths
  205.     self.lv_paths            := lv_paths
  206.     self.pa_path             := pa_path
  207.     self.stR_PA_path         := stR_PA_path
  208.     self.bt_delete_path      := bt_delete_path
  209.     self.tx_info             := tx_info
  210.     self.bt_go               := bt_go
  211.     self.bt_stop             := bt_stop
  212.     self.bt_save_prefs       := bt_save_prefs
  213.     self.bt_about            := bt_about
  214.     self.bt_quit             := bt_quit
  215.  
  216. ENDPROC self.app
  217.  
  218.  
  219. ->*****
  220. ->** Dispose the application object
  221. ->*****
  222. PROC dispose() OF obj_app IS Mui_DisposeObject( self.app )
  223.  
  224.  
  225. ->*****
  226. ->** ExTended KeyButton function
  227. ->*****
  228. PROC et_key_button( text : PTR TO CHAR ) RETURN KeyButton( ( text + 3 ), text[ 1 ] )
  229.